#ifndef TERRAIN_IMPROVEMENT_HPP_INCLUDED
#define TERRAIN_IMPROVEMENT_HPP_INCLUDED

#include "terrain_improvement_fwd.hpp"
#include "texture.hpp"
#include "wml_node_fwd.hpp"

#include <string>

class terrain_improvement
{
public:
	static void init(wml::const_node_ptr node);
	static const_terrain_improvement_ptr get(const std::string& key);

	explicit terrain_improvement(wml::const_node_ptr node);

	const std::string& id() const { return id_; }
	void draw(int x, int y) const;
	int cost() const { return cost_; }
private:
	std::string id_;
	graphics::texture texture_;
	int cost_;
};

#endif
